package com.yuanheng100.ems4j.api;

import com.yuanheng100.ems4j.model.Ems4jPage;
import com.yuanheng100.ems4j.model.Ems4jSMS;

import java.math.BigInteger;
import java.util.Map;


/**
 * 无阻塞发送短信的接口
 */
public interface ISmsService
{

    /**
     * 发送手机短信。<br>
     * 由于各家发送短信的接口标准不一致，故此接口需使用者自己实现
     *
     * @param content  发送内容（必填）
     * @param receiver 短信接收号码（必填）
     * @param fromName 发送者名称（可选）
     * @param toName   接收者名称（可选）
     * @return 结果码
     */
    public int sendSms(String content, BigInteger receiver, String fromName, String toName);

    /**
     * 查询短信剩余余额
     *
     * @return
     */
    Integer getBalance();

    /**
     * 根据查询条件，查找符合条件的结果，并进行分页
     *
     * @param page
     * @param conditions
     */
    void getPage(Ems4jPage<Ems4jSMS> page, Map<String, Object> conditions);


}
